
public class Factory {
	
	interface Xyz{
		Xyz cloan();
	}
	
	static class Tom implements Xyz {
		public Xyz cloan(){
			return new Tom();
		}
	
		public String toString(){
			return "ttt";
		}
	}
	
	static class Dick implements Xyz{
		public Xyz cloan(){
			return new Dick();
		}
	
		public String toString(){
			return "ddd";
		}
	}
	
	static class Harry implements Xyz{
		public Xyz cloan(){
			return new Harry();
		}
	
		public String toString(){
			return "hhh";
		}
	}
	
	static class Faactory{
		
		private static java.util.Map prototypes = new java.util.HashMap();
		static{
			prototypes.put("tom", new Tom() );
			prototypes.put(" dick", new Dick());
			prototypes.put("harry", new Harry());		
		}
		public static Xyz makeObject ( String s ){
			return ((Xyz)prototypes.get(s)).cloan();
		}
	}
	public static void main ( String args[]){
		for ( int i= 0; i < args.length; i++){
			System.out.print( Faactory.makeObject( args[i]) + " " );
		}
	}

  }
